package cn.zyq.ykb.beans.task.bo;

import cn.zyq.ykb.beans.task.TaskStep;
import cn.zyq.ykb.system.annotation.Excel;
import com.alibaba.fastjson.annotation.JSONField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.persistence.Column;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

@Data
public class TaskAddBo {

    /**
     * 产品/APP名称
     */
    @Column(name = "`productName`")
    @ApiModelProperty("产品/APP名称")
    private String productName;
    /**
     * 任务名称
     */
    @Column(name = "`taskName`")
    @ApiModelProperty("任务名称")
    private String taskName;
    /**
     * 预估用时（单位时）
     */
    @Column(name = "`expectTime`")
    @Excel(name = "预估用时（单位分钟）")
    @ApiModelProperty("预估用时（单位分钟）")
    private Integer  expectTime;
    /**
     * 任务logo
     */
    @Column(name = "`logo`")
    @ApiModelProperty("任务logo")
    private String logo;
    /**
     * 任务描述
     */
    @Column(name = "`describe`")
    @ApiModelProperty("任务描述")
    private String describe;
    /**
     * 任务须知
     */
    @Column(name = "`notice`")
    @ApiModelProperty("任务须知")
    private String notice;
    /**
     * 任务类型ID
     */
    @Column(name = "`configTaskTypeID`")
    @ApiModelProperty("任务类型ID")
    private String configTaskTypeID;
    /**
     * 价格/钻石
     */
    @Column(name = "`price`")
    @ApiModelProperty("价格/钻石")
    private BigDecimal price;
    /**
     * 任务数量
     */
    @Column(name = "`number`")
    @ApiModelProperty("任务数量")
    private Integer number;
    /**
     * 提交时间（单位时）
     */
    @Column(name = "`submitTime`")
    @ApiModelProperty("提交时间（单位时）")
    private Integer submitTime;
    /**
     * 结束时间
     */
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @Column(name = "`endTime`")
    @ApiModelProperty("结束时间")
    private LocalDateTime endTime;
    /**
     * 审核周期
     */
    @Column(name = "`auditTime`")
    @ApiModelProperty("审核周期（单位时）")
    private Integer auditTime;
    /**
     * 手机系统（1不限、2安卓、3IOS）
     */
    @Column(name = "`system`")
    @ApiModelProperty("手机系统（1不限、2安卓、3IOS）")
    private Integer system;
    /**
     * 文字信息
     */
    @Column(name = "`remark`")
    @ApiModelProperty("文字信息")
    private String remark;

    @ApiModelProperty("任务步骤")
    private List<TaskSteps> taskStepList;
    /**
     * 剩余数量
     */
    @Column(name = "`taskPackageID`")
    @ApiModelProperty("任务包类型（1.工作室任务包，2.地推优选任务包，3.线上推广任务包）")
    private Integer taskPackageID;

    @Data
    public class TaskSteps{
        /**
         * 步骤名称
         */
        @Column(name = "`stepName`")
        @ApiModelProperty("步骤名称")
        private String stepName;
        /**
         * 步骤说明
         */
        @Column(name = "` explain`")
        @ApiModelProperty("步骤说明")
        private String  explain;
        /**
         * 图片
         */
        @Column(name = "`picture`")
        @ApiModelProperty("图片")
        private String picture;
        /**
         * 类型（1图文说明，2提交截图，3复制口令，4.网址链接）
         */
        @Column(name = "`type`")
        @ApiModelProperty("类型（1图文说明，2提交截图，3复制口令，4.网址链接）")
        private Integer type;
    }
}
